**U.S. Security Assistance and Civil-Military Relations
**Louis-Alexandre Berg
 
**Table 1 and Figure 4: Civilian Control
 eststo clear
tsset iso3n year
  
 logit civcontrol  l.partyfrac c.l.SSRpc_3yravg l.FMFpc_3yravg l.IMETpc_3yravg  base     lntroops  mid parl1  logpop GDPpc v2x_polyarchy conflict    time time2 time3   if civcontrol_start==0  , cluster(iso3n)   robust 
 estimates store Model_1
 
 logit civcontrol  c.l.partyfrac##c.l.SSRpc_3yravg base  lntroops  mid parl1  logpop GDPpc v2x_polyarchy conflict  time time2 time3  if civcontrol_start==0     , cluster(iso3n)   robust 
 estimates store Model_2
 
margins  , dydx(c.l.SSRpc_3yravg) at(l.partyfrac==(0(0.1) 1))   at((mean) lntroops   logpop GDPpc v2x_polyarchy  ) at((median) base  mid parl1   conflict)   level (95)
marginsplot, recast(line) recastci(rarea)    yline(0) xtitle ("party fractionalization") ///
 ytitle("Marginal Effects on Civilian Control") ///
 name(figure3_1_SSR, replace)  title("SSR")
 
logit civcontrol  c.l.partyfrac##c.l.FMFpc_3yravg base     lntroops  mid parl1  logpop GDPpc v2x_polyarchy conflict   time time2 time3   if civcontrol_start==0    ,    cluster(iso3n)   robust 
 estimates store Model_3
 
 margins  , dydx(c.l.FMFpc_3yravg)at(l.partyfrac==(0(0.1) 1)) at((mean) lntroops   logpop GDPpc v2x_polyarchy  ) at((median) base  mid parl1   conflict)   level (90)
marginsplot, recast(line)  recastci(rarea)     yline(0) ///
 xtitle ("party fractionalization") ///
 ytitle("Marginal Effects on Civilian Control") ///
 name(figure3_1_FMF, replace) title("FMF")

 logit civcontrol  c.l.partyfrac##c.l.IMETpc_3yravg base     lntroops  mid parl1  logpop GDPpc v2x_polyarchy conflict   time time2 time3   if civcontrol_start==0       , cluster(iso3n)   robust 
 estimates store Model_4
 
 margins  , dydx(c.l.IMETpc_3yravg)at(l.partyfrac==(0(0.1) 1))  at((mean) lntroops   logpop GDPpc v2x_polyarchy  ) at((median) base  mid parl1   conflict)   level (90)
marginsplot, recast(line)  recastci(rarea)     yline(0) xtitle ("party fractionalization") ///
 ytitle("Marginal Effects on Civilian Control") ///
 name(figure3_1_IMET, replace) title("IMET")

esttab      Model_1     Model_2     Model_3    Model_4  using Table1.rtf, replace se  aic  scalar(ll) obslast star(* 0.10 ** 0.05 *** 0.01) compress nogaps    label 
    
gr combine figure3_1_SSR figure3_1_FMF figure3_1_IMET


**Table 2 and Figure 5: Officer Appointment
 eststo clear
 reg v2stcritapparm    c.partyfrac c.l.SSRpc_3yravg l.FMFpc_3yravg l.IMETpc_3yravg  base  lntroops mid parl1 logpop GDPpc v2x_polyarchy conflict  v2stcritapparm_base , cluster (iso3n) robust
  estimates store Model_1 
  
  reg v2stcritapparm    c.l.partyfrac##c.l.SSRpc_3yravg   base  lntroops mid parl1 logpop GDPpc v2x_polyarchy conflict   v2stcritapparm_base     ,   cluster (iso3n) robust
  estimates store Model_2
  
 margins  , dydx(c.l.SSRpc_3yravg)at(l.partyfrac==(0(0.1) 1)) at((mean) lntroops   logpop GDPpc v2x_polyarchy  ) at((median) base  mid parl1   conflict)   level (90)
marginsplot, recast(line) recastci(rarea)    yline(0) xtitle ("party fractionalization") ///
 ytitle("Marginal Effects on Officer Appointments") ///
 name(figure3_1_SSR, replace)  title("SSR")
 
reg  v2stcritapparm  c.l.partyfrac##c.l.FMFpc_3yravg    base    lntroops  mid parl1  logpop GDPpc v2x_polyarchy conflict   v2stcritapparm_base     , cluster (iso3n) robust
   estimates store Model_3 
   
   margins  , dydx(c.l.FMFpc_3yravg)at(l.partyfrac==(0(0.1) 1))  at((mean) lntroops   logpop GDPpc v2x_polyarchy  ) at((median) base  mid parl1   conflict)  level (90)
marginsplot, recast(line)  recastci(rarea)     yline(0) ///
 xtitle ("party fractionalization") ///
 ytitle("Marginal Effects on Officer Appointments") ///
 name(figure3_1_FMF, replace) title("FMF")


  reg  v2stcritapparm c.l.partyfrac##c.l.IMETpc_3yravg   base   lntroops  mid parl1  logpop GDPpc v2x_polyarchy conflict    v2stcritapparm_base  , cluster (iso3n) robust
  estimates store Model_4
  
   margins  , dydx(c.l.IMETpc_3yravg)at(l.partyfrac==(0(0.1) 1))   level (95)
marginsplot, recast(line)  recastci(rarea)     yline(0) xtitle ("party fractionalization") ///
 ytitle("Marginal Effects on Officer Appointments") ///
 name(figure3_1_IMET, replace) title("IMET")

esttab      Model_1     Model_2     Model_3    Model_4  using Table3_Apparm.rtf, replace se  aic  scalar(ll) obslast star(* 0.10 ** 0.05 *** 0.01) compress nogaps label 
      
gr combine figure3_1_SSR figure3_1_FMF figure3_1_IMET

**SUPPLEMENTARY APPENDIX

**Table A.1: Summary Statistics
sum civcontrol v2stcritapparm partyfrac SSRpc_3yravg FMFpc_3yravg IMETpc_3yravg  base  lntroops  mid parl1  logpop GDPpc v2x_polyarchy conflict  usalliance

**Table A.2:  Control Variables - Troops Interactions	
  eststo clear 
logit civcontrol    c.partyfrac c.l.lntroops##c.l.SSRpc_3yravg   base   mid parl1 logpop GDPpc v2x_polyarchy conflict      if civcontrol_start==0 ,  cluster(iso3n) robust
    estimates store Model_2
	
  logit civcontrol    c.partyfrac c.l.lntroops##c.l.FMFpc_3yravg     base mid parl1 logpop GDPpc v2x_polyarchy conflict      if civcontrol_start==0 ,  cluster(iso3n) robust

  
    estimates store Model_3
  

logit civcontrol    c.partyfrac c.l.lntroops##c.l.IMETpc_3yravg   base   mid parl1 logpop GDPpc v2x_polyarchy conflict      if civcontrol_start==0 ,  cluster(iso3n) robust


    estimates store Model_4

	  reg v2stcritapparm     c.partyfrac c.l.lntroops##c.l.SSRpc_3yravg   base    mid parl1 logpop GDPpc v2x_polyarchy conflict   v2stcritapparm_base     ,   cluster (iso3n) robust
  estimates store Model_5

reg  v2stcritapparm     c.partyfrac c.l.lntroops##c.l.FMFpc_3yravg     base  mid parl1  logpop GDPpc v2x_polyarchy conflict   v2stcritapparm_base     , cluster (iso3n) robust
   estimates store Model_6

 
  reg  v2stcritapparm  c.partyfrac c.l.lntroops##c.l.IMETpc_3yravg   base  mid parl1  logpop GDPpc v2x_polyarchy conflict    v2stcritapparm_base   , cluster (iso3n) robust
  estimates store Model_7

	
 
   esttab          Model_2     Model_3    Model_4 Model_5 Model_6   Model_7   using TableA_TroopsInteract.rtf, replace se  aic  scalar(ll) obslast star(* 0.10 ** 0.05 *** 0.01) compress nogaps label 
   
**TABLE A.3: Control Variables - Troops Interactions	
  eststo clear 
logit civcontrol    c.partyfrac c.l.lntroops##c.l.SSRpc_3yravg   base   mid parl1 logpop GDPpc v2x_polyarchy conflict      if civcontrol_start==0 ,  cluster(iso3n) robust
  
    estimates store Model_2
	
  logit civcontrol    c.partyfrac c.l.lntroops##c.l.FMFpc_3yravg     base mid parl1 logpop GDPpc v2x_polyarchy conflict      if civcontrol_start==0 ,  cluster(iso3n) robust
  
    estimates store Model_3
  

logit civcontrol    c.partyfrac c.l.lntroops##c.l.IMETpc_3yravg   base   mid parl1 logpop GDPpc v2x_polyarchy conflict      if civcontrol_start==0 ,  cluster(iso3n) robust
    estimates store Model_4

reg v2stcritapparm     c.partyfrac c.l.lntroops##c.l.SSRpc_3yravg   base    mid parl1 logpop GDPpc v2x_polyarchy conflict   v2stcritapparm_base     ,   cluster (iso3n) robust
  estimates store Model_5

reg  v2stcritapparm     c.partyfrac c.l.lntroops##c.l.FMFpc_3yravg     base  mid parl1  logpop GDPpc v2x_polyarchy conflict   v2stcritapparm_base     , cluster (iso3n) robust
   estimates store Model_6

 
reg  v2stcritapparm  c.partyfrac c.l.lntroops##c.l.IMETpc_3yravg   base  mid parl1  logpop GDPpc v2x_polyarchy conflict    v2stcritapparm_base   , cluster (iso3n) robust
  estimates store Model_7
	
esttab          Model_2     Model_3    Model_4 Model_5 Model_6   Model_7   using TableA_TroopsInteract.rtf, replace se  aic  scalar(ll) obslast star(* 0.10 ** 0.05 *** 0.01) compress nogaps label 
    
**TABLE A4: MID Interaction
 

   eststo clear 
logit civcontrol    c.partyfrac  l.mid##c.l.SSRpc_3yravg   base  lntroops  parl1 logpop GDPpc v2x_polyarchy conflict      if civcontrol_start==0 ,  cluster(iso3n) robust
  
  
    estimates store Model_2
	
  logit civcontrol    c.partyfrac  l.mid##c.l.FMFpc_3yravg  base  lntroops parl1 logpop GDPpc v2x_polyarchy conflict      if civcontrol_start==0 ,  cluster(iso3n) robust

  
    estimates store Model_3
  

logit civcontrol      c.partyfrac  l.mid##c.l.IMETpc_3yravg   base  lntroops  parl1 logpop GDPpc v2x_polyarchy conflict      if civcontrol_start==0 ,  cluster(iso3n) robust


    estimates store Model_4

	  reg v2stcritapparm      c.partyfrac  l.mid##c.l.SSRpc_3yravg   base  lntroops parl1 logpop GDPpc v2x_polyarchy conflict   v2stcritapparm_base     ,   cluster (iso3n) robust
  estimates store Model_5

reg  v2stcritapparm       c.partyfrac  l.mid##c.l.FMFpc_3yravg   base  lntroops  parl1  logpop GDPpc v2x_polyarchy conflict   v2stcritapparm_base     , cluster (iso3n) robust
   estimates store Model_6

 
  reg  v2stcritapparm    c.partyfrac  l.mid##c.l.IMETpc_3yravg  base  lntroops  parl1  logpop GDPpc v2x_polyarchy conflict    v2stcritapparm_base  , cluster (iso3n) robust
  estimates store Model_7

 
   esttab          Model_2     Model_3    Model_4 Model_5 Model_6   Model_7   using TableA_MIDInteract.rtf, replace se  aic  scalar(ll) obslast star(* 0.10 ** 0.05 *** 0.01) compress nogaps label 
   
 
 **Table A5a: Random Effects Models
      eststo clear
  xtset iso3n year
  
 xtlogit civcontrol  l.partyfrac c.l.SSRpc_3yravg l.FMFpc_3yravg l.IMETpc_3yravg  base     lntroops  mid parl1  logpop GDPpc v2x_polyarchy conflict  if civcontrol_start==0  , re
 **
 xtlogit civcontrol  c.l.partyfrac##c.l.SSRpc_3yravg base  lntroops  mid parl1  logpop GDPpc v2x_polyarchy conflict    if civcontrol_start==0 , re
 
  estimates store Model_A1

    xtlogit civcontrol  c.l.partyfrac##c.l.FMFpc_3yravg base  lntroops  mid parl1  logpop GDPpc v2x_polyarchy conflict    if civcontrol_start==0    , re
 
  estimates store Model_A2
  
  
    xtlogit civcontrol  c.l.partyfrac##c.l.IMETpc_3yravg base  lntroops  mid parl1  logpop GDPpc v2x_polyarchy conflict    if civcontrol_start==0   , re
 
  estimates store Model_A3
  
  xtreg v2stcritapparm   l.partyfrac c.l.SSRpc_3yravg l.FMFpc_3yravg l.IMETpc_3yravg   base  lntroops mid parl1 logpop GDPpc v2x_polyarchy conflict  v2stcritapparm_base , re
 

  xtreg v2stcritapparm    c.l.partyfrac##c.l.SSRpc_3yravg   base  lntroops mid parl1 logpop GDPpc v2x_polyarchy conflict  v2stcritapparm_base  , re
  estimates store Model_A4 
  
   xtreg v2stcritapparm    c.l.partyfrac##c.l.FMFpc_3yravg   base  lntroops mid parl1 logpop GDPpc v2x_polyarchy conflict  v2stcritapparm_base   , re
  estimates store Model_A5 
  

  xtreg v2stcritapparm    c.l.partyfrac##c.l.IMETpc_3yravg   base  lntroops mid parl1 logpop GDPpc v2x_polyarchy conflict  v2stcritapparm_base , re
  estimates store Model_A6
  
 
   esttab      Model_A1     Model_A2     Model_A3   Model_A4     Model_A5     Model_A6      using TableA2_RE.rtf, replace se  aic  scalar(ll) obslast star(* 0.10 ** 0.05 *** 0.01) compress nogaps    label 

   **Table A5b: Fixed Effects Models

  xtreg v2stcritapparm    c.l.partyfrac##c.l.SSRpc_3yravg   base  lntroops mid parl1 logpop GDPpc v2x_polyarchy conflict  v2stcritapparm_base i.year, fe
  estimates store Model_A4 
  
   xtreg v2stcritapparm    c.l.partyfrac##c.l.FMFpc_3yravg   base  lntroops mid parl1 logpop GDPpc v2x_polyarchy conflict  v2stcritapparm_base  i.year, fe
  estimates store Model_A5 
  

  xtreg v2stcritapparm    c.l.partyfrac##c.l.IMETpc_3yravg   base  lntroops mid parl1 logpop GDPpc v2x_polyarchy conflict  v2stcritapparm_base i.year, fe
  estimates store Model_A6
  
 
   esttab   Model_A4     Model_A5     Model_A6      using TableA.rtf, replace se  aic  scalar(ll) obslast star(* 0.10 ** 0.05 *** 0.01) compress nogaps    label 
 
 **Table A6: Heckman Selection Models
 **Heckman
 eststo clear
 heckprob civcontrol  c.partyfrac##c.l.SSRpc_3yravg base    lntroops  mid parl1  logpop GDPpc v2x_polyarchy conflict    if civcontrol_start==0, select (SSR_bin3 =  base lntroops mid conflict v2x_polyarchy logpop GDPpc   usalliance)  cluster (iso3n) robust  
 estimates store Model_A7
 
 heckprob civcontrol  c.partyfrac##c.l.FMFpc_3yravg base    lntroops  mid parl1  logpop GDPpc v2x_polyarchy conflict  if civcontrol_start==0 , select (FMF_bin3 =  base lntroops mid conflict v2x_polyarchy logpop GDPpc   usalliance)  cluster (iso3n) robust  
 estimates store Model_A8
 
 heckprob civcontrol  c.partyfrac##c.l.IMETpc_3yravg base    lntroops  mid parl1  logpop GDPpc v2x_polyarchy conflict   if civcontrol_start==0 , select (IMET_bin3 =  base lntroops mid conflict v2x_polyarchy logpop GDPpc   usalliance)  cluster (iso3n) robust  
 estimates store Model_A9

 heckman v2stcritapparm  c.l.partyfrac##c.l.SSRpc_3yravg base   lntroops  mid parl1  logpop GDPpc v2x_polyarchy conflict  v2stcritapparm_base , select (SSR_bin3  =  base lntroops mid conflict v2x_polyarchy logpop GDPpc   usalliance )    cluster (iso3n) robust
   estimates store Model_A11
   
  heckman v2stcritapparm  c.l.partyfrac##c.l.FMFpc_3yravg base   lntroops  mid parl1  logpop GDPpc v2x_polyarchy conflict  v2stcritapparm_base , select (FMF_bin3  =  base lntroops mid conflict v2x_polyarchy logpop GDPpc   usalliance )    cluster (iso3n) robust
 estimates store Model_A12
heckman v2stcritapparm  c.l.partyfrac##c.l.IMETpc_3yravg base   lntroops  mid parl1  logpop GDPpc v2x_polyarchy conflict  v2stcritapparm_base , select (IMET_bin3  =  base lntroops mid conflict v2x_polyarchy logpop GDPpc   usalliance  )    cluster (iso3n) robust
  
  estimates store Model_A13
  
 
   esttab    Model_A7     Model_A8   Model_A9       Model_A11   Model_A12 Model_A13     using TableA2_Heck.rtf, replace se  aic  scalar(ll) obslast star(* 0.10 ** 0.05 *** 0.01) compress nogaps    label 

 *Table A7a: Results from Logit for Civilian Control and OLS with Merit-Based Officer Appointment excluding NATO members and countries in top quartile of GDP per capita 
 eststo clear
tsset iso3n year

 logit civcontrol  c.l.partyfrac##c.l.SSRpc_3yravg base  lntroops  mid parl1  logpop GDPpc v2x_polyarchy conflict  time time2 time3  if civcontrol_start==0  &  NATO==0 & GDPpc<13921.56    , cluster(iso3n)   robust 
  estimates store Model_2
 
logit civcontrol  c.l.partyfrac##c.l.FMFpc_3yravg base     lntroops  mid parl1  logpop GDPpc v2x_polyarchy conflict   time time2 time3   if civcontrol_start==0   &  NATO==0 & GDPpc<13921.56 ,    cluster(iso3n)   robust 
 estimates store Model_3

 logit civcontrol  c.l.partyfrac##c.l.IMETpc_3yravg base     lntroops  mid parl1  logpop GDPpc v2x_polyarchy conflict   time time2 time3   if civcontrol_start==0    &  NATO==0 & GDPpc<13921.56  , cluster(iso3n)   robust 
 estimates store Model_4
 
  reg v2stcritapparm    c.l.partyfrac##c.l.SSRpc_3yravg   base  lntroops mid parl1 logpop GDPpc v2x_polyarchy conflict   v2stcritapparm_base  if NATO==0 & GDPpc<13921.56   ,   cluster (iso3n) robust
  estimates store Model_6 

reg  v2stcritapparm  c.l.partyfrac##c.l.FMFpc_3yravg    base    lntroops  mid parl1  logpop GDPpc v2x_polyarchy conflict   v2stcritapparm_base if NATO==0 & GDPpc<13921.56   , cluster (iso3n) robust
   estimates store Model_7 

  reg  v2stcritapparm c.l.partyfrac##c.l.IMETpc_3yravg   base   lntroops  mid parl1  logpop GDPpc v2x_polyarchy conflict    v2stcritapparm_base if NATO==0 & GDPpc<13921.56, cluster (iso3n) robust
  estimates store Model_8
  
   esttab      Model_2     Model_3     Model_4    Model_6 Model_7     Model_8        using TableA_ltdsample.rtf, replace se  aic  scalar(ll) obslast star(* 0.10 ** 0.05 *** 0.01) compress nogaps label 
      
**Table A.7b: Results of Random Effects Models on Likelihood of Civilian Control and Merit-Based Officer Appointment Score excluding NATO members and countries in top quartile of GDP per capita 

      eststo clear
  xtset iso3n year
  
 xtlogit civcontrol  l.partyfrac c.l.SSRpc_3yravg l.FMFpc_3yravg l.IMETpc_3yravg  base     lntroops  mid parl1  logpop GDPpc v2x_polyarchy conflict  if civcontrol_start==0 & NATO==0 & GDPpc<13921.56 , re
 **
 xtlogit civcontrol  c.l.partyfrac##c.l.SSRpc_3yravg base  lntroops  mid parl1  logpop GDPpc v2x_polyarchy conflict    if civcontrol_start==0 & NATO==0 & GDPpc<13921.56, re
 
  estimates store Model_A1

    xtlogit civcontrol  c.l.partyfrac##c.l.FMFpc_3yravg base  lntroops  mid parl1  logpop GDPpc v2x_polyarchy conflict    if civcontrol_start==0   & NATO==0 & GDPpc<13921.56 , re
 
  estimates store Model_A2
  
  
    xtlogit civcontrol  c.l.partyfrac##c.l.IMETpc_3yravg base  lntroops  mid parl1  logpop GDPpc v2x_polyarchy conflict    if civcontrol_start==0  & NATO==0 & GDPpc<13921.56 , re
 
  estimates store Model_A3
  
  xtreg v2stcritapparm   l.partyfrac c.l.SSRpc_3yravg l.FMFpc_3yravg l.IMETpc_3yravg   base  lntroops mid parl1 logpop GDPpc v2x_polyarchy conflict  v2stcritapparm_base if  NATO==0 & GDPpc<13921.56, re
 

  xtreg v2stcritapparm    c.l.partyfrac##c.l.SSRpc_3yravg   base  lntroops mid parl1 logpop GDPpc v2x_polyarchy conflict  v2stcritapparm_base if  NATO==0 & GDPpc<13921.56 , re
  estimates store Model_A4 
  
   xtreg v2stcritapparm    c.l.partyfrac##c.l.FMFpc_3yravg   base  lntroops mid parl1 logpop GDPpc v2x_polyarchy conflict  v2stcritapparm_base  if  NATO==0 & GDPpc<13921.56 , re
  estimates store Model_A5 
  

  xtreg v2stcritapparm    c.l.partyfrac##c.l.IMETpc_3yravg   base  lntroops mid parl1 logpop GDPpc v2x_polyarchy conflict  v2stcritapparm_base if  NATO==0 & GDPpc<13921.56, re
  estimates store Model_A6
  
 
   esttab      Model_A1     Model_A2     Model_A3   Model_A4     Model_A5     Model_A6      using TableA2_RE.rtf, replace se  aic  scalar(ll) obslast star(* 0.10 ** 0.05 *** 0.01) compress nogaps    label 

**Table A.8: Results of Logit on Likelihood of Civilian Control and OLS on Merit-Based Officer Appointment Score, with 5-year lagged SFA 
   
   eststo clear
tsset iso3n year
  

 logit civcontrol  c.l.partyfrac##c.l.ssrpc_5yravg base  lntroops  mid parl1  logpop GDPpc v2x_polyarchy conflict  time time2 time3  if civcontrol_start==0     , cluster(iso3n)   robust 
 estimates store Model_2

 
logit civcontrol  c.l.partyfrac##c.l.FMFpc_5yravg base     lntroops  mid parl1  logpop GDPpc v2x_polyarchy conflict   time time2 time3   if civcontrol_start==0    ,    cluster(iso3n)   robust 
 estimates store Model_3
 


 logit civcontrol  c.l.partyfrac##c.l.IMETpc_5yravg base     lntroops  mid parl1  logpop GDPpc v2x_polyarchy conflict   time time2 time3   if civcontrol_start==0       , cluster(iso3n)   robust 
  estimates store Model_4

  reg v2stcritapparm    c.l.partyfrac##c.l.ssrpc_5yravg   base  lntroops mid parl1 logpop GDPpc v2x_polyarchy conflict   v2stcritapparm_base     ,   cluster (iso3n) robust
  estimates store Model_6


reg  v2stcritapparm  c.l.partyfrac##c.l.FMFpc_5yravg    base    lntroops  mid parl1  logpop GDPpc v2x_polyarchy conflict   v2stcritapparm_base     , cluster (iso3n) robust
   estimates store Model_7

  reg  v2stcritapparm c.l.partyfrac##c.l.IMETpc_5yravg   base   lntroops  mid parl1  logpop GDPpc v2x_polyarchy conflict    v2stcritapparm_base   , cluster (iso3n) robust
  estimates store Model_8

   esttab          Model_2  Model_3  Model_4    Model_6      Model_7     Model_8      using TableA_5yr.rtf, replace se  aic  scalar(ll) obslast star(* 0.10 ** 0.05 *** 0.01) compress nogaps label 
  
  **Instrumental Variable Analysis 
  
  **Tables A.9 and A.10:  Instrumental Variable Analysis 
eststo clear
xtset iso3n year
 

reg SSRpc_3yravg   iv_SSR_3yr       base  lntroops mid   logpop GDPpc v2x_polyarchy conflict  congfrag P_SSR  , cluster(iso3n) robust
estimates store Model_IV_1_1
predict SSR_hat 
logit civcontrol  c.l.partyfrac##c.l.SSR_hat base  lntroops  mid parl1  logpop GDPpc v2x_polyarchy conflict  congfrag P_SSR    time time2 time3 if civcontrol_start==0   , cluster(iso3n) robust
estimates store Model_IV_2_1


  reg  FMFpc_3yravg   iv_FMF_3yr    base  lntroops mid   logpop GDPpc v2x_polyarchy conflict  congfrag P_FMF     , cluster(iso3n) robust
predict FMF_hat 
estimates store Model_IV_1_2
logit civcontrol  c.l.partyfrac##c.l.FMF_hat base  lntroops  mid parl1  logpop GDPpc v2x_polyarchy conflict   congfrag P_FMF  time time2 time3   if civcontrol_start==0   , cluster(iso3n) robust
estimates store Model_IV_2_2


reg IMETpc_3yravg  iv_IMET_3yr     base  lntroops mid   logpop GDPpc v2x_polyarchy conflict  congfrag P_IMET      ,  cluster(iso3n) robust
predict IMET_hat 
estimates store Model_IV_1_3
logit civcontrol  c.l.partyfrac##c.l.IMET_hat base  lntroops  mid parl1  logpop GDPpc v2x_polyarchy conflict   congfrag P_IMET   time time2 time3   if civcontrol_start==0   ,   cluster(iso3n) robust
estimates store Model_IV_2_3

 
reg v2stcritapparm  c.l.partyfrac##c.l.SSR_hat base  lntroops  mid parl1  logpop GDPpc v2x_polyarchy conflict    v2stcritapparm_base congfrag P_SSR , cluster(iso3n)   robust 
estimates store Model_IV_2_4

 reg v2stcritapparm  c.l.partyfrac##c.l.FMF_hat base  lntroops  mid parl1  logpop GDPpc v2x_polyarchy conflict    v2stcritapparm_base congfrag P_FMF , cluster(iso3n)   robust 
estimates store Model_IV_2_5


 reg v2stcritapparm  c.l.partyfrac##c.l.IMET_hat base  lntroops  mid parl1  logpop GDPpc v2x_polyarchy conflict     v2stcritapparm_base  congfrag P_IMET, cluster(iso3n)   robust 
estimates store Model_IV_2_6

 esttab     Model_IV_1_1 Model_IV_1_2 Model_IV_1_3     using IV_1_controls.rtf, replace se  aic  scalar(ll) obslast star(* 0.10 ** 0.05 *** 0.01) compress nogaps    label 
 
  esttab      Model_IV_2_1 Model_IV_2_2 Model_IV_2_3 Model_IV_2_4 Model_IV_2_5 Model_IV_2_6 using TableIV_2_controls.rtf, replace se  aic  scalar(ll) obslast star(* 0.10 ** 0.05 *** 0.01) compress nogaps    label 
 	  
